/***********************************************************
 *  File_Name  : XJExcepction.h
 *  File_Path   :
 *  File_Encode : UTF8
 *  Description :
 *
 *  OS : Linux, UNIX
 *  LastVersion  : 20150128
 *
 *  Author      : LiXiujie(李秀杰)
 *  Date        : 2015-1-28
 *  Version     : 20150128
 *  Description :
 *
 *  Edit Author :
 *  Edit Date   :
 *  Version     :
 *  Description :
 *
 ***********************************************************/
#ifndef XJEXCEPCTION_H_
#define XJEXCEPCTION_H_

#include <string>
#include <exception>

namespace XJUtilClass {

class XJExcepction: public std::exception {
public:
	XJExcepction();
	XJExcepction(const XJExcepction &e);
	void operator=(const XJExcepction &other);
	XJExcepction(const int &nErrorCode, const std::string &strMsg);
	XJExcepction(const std::string &strMsg);
	virtual ~XJExcepction() throw();;
public:
  virtual int getErrorCode() const;
  virtual std::string getMessage() const;
  const char *what() const throw();
protected:
  int m_nErrorCode;
  std::string m_strMsg;
};

} /* namespace XJUtilClass */

#endif /* XJEXCEPCTION_H_ */
